Data Definition Language (DDL) হলো SQL-এর একটি অংশ যা ডেটাবেস অবকাঠামো এবং স্ট্রাকচার নির্ধারণ করতে ব্যবহৃত হয়। Impala-এ DDL স্টেটমেন্টগুলি ডেটাবেসের টেবিল, ভিউ, পার্টিশন ইত্যাদি তৈরি, সংশোধন এবং মুছে ফেলতে ব্যবহৃত হয়। এখানে Impala-এ DDL স্টেটমেন্টগুলির কিছু গুরুত্বপূর্ণ ব্যবহার আলোচনা করা হলো।
১. CREATE DATABASE
CREATE DATABASE স্টেটমেন্ট ব্যবহার করে একটি নতুন ডেটাবেস তৈরি করা হয়। একটি ডেটাবেস হলো ডেটার সংগ্রহস্থল, যেখানে টেবিল এবং অন্যান্য অবজেক্ট রাখা হয়।
উদাহরণ:
CREATE DATABASE my_database;
এটি my_database নামে একটি নতুন ডেটাবেস তৈরি করবে।
ডেটাবেস পাথ সহ তৈরি:
CREATE DATABASE my_database LOCATION '/user/hadoop/my_database';
এটি ডেটাবেসটি নির্দিষ্ট HDFS পাথ /user/hadoop/my_database-এ তৈরি করবে।
২. DROP DATABASE
DROP DATABASE স্টেটমেন্ট ব্যবহার করে একটি ডেটাবেস মুছে ফেলা হয়। ডেটাবেস মুছে ফেললে তার সকল টেবিল এবং ডেটাও মুছে যায়।
উদাহরণ:
DROP DATABASE my_database;
এটি my_database ডেটাবেস এবং তার অধীনে থাকা সকল অবজেক্ট মুছে ফেলবে।
CASCADE অপশন ব্যবহার:
DROP DATABASE my_database CASCADE;
CASCADE ব্যবহার করলে ডেটাবেসের সঙ্গে সংশ্লিষ্ট সমস্ত টেবিল এবং ডেটা মুছে যাবে।
৩. CREATE TABLE
CREATE TABLE স্টেটমেন্ট ব্যবহার করে একটি নতুন টেবিল তৈরি করা হয়। এতে টেবিলের কলাম এবং তাদের ডেটা টাইপ নির্ধারণ করা হয়।
উদাহরণ:
CREATE TABLE my_table (
id INT,
name STRING,
age INT
);
এটি my_table নামে একটি টেবিল তৈরি করবে, যার মধ্যে তিনটি কলাম: id, name, এবং age।
পার্টিশনযুক্ত টেবিল তৈরি:
CREATE TABLE my_table (
id INT,
name STRING,
age INT
)
PARTITIONED BY (year INT, month INT);
এটি year এবং month কলামের ভিত্তিতে পার্টিশন করা টেবিল তৈরি করবে।
টেবিল ফাইল ফরম্যাট নির্ধারণ:
CREATE TABLE my_table (
id INT,
name STRING,
age INT
)
STORED AS PARQUET;
এটি PARQUET ফরম্যাটে টেবিল তৈরি করবে, যা ইফিসিয়েন্ট ডেটা স্টোরেজ এবং দ্রুত প্রসেসিংয়ের জন্য উপযুক্ত।
৪. ALTER TABLE
ALTER TABLE স্টেটমেন্ট ব্যবহার করে একটি বিদ্যমান টেবিলের স্ট্রাকচার পরিবর্তন করা যায়। উদাহরণস্বরূপ, টেবিলের নতুন কলাম যোগ করা, পার্টিশন পরিবর্তন করা ইত্যাদি।
নতুন কলাম যোগ করা:
ALTER TABLE my_table ADD COLUMNS (email STRING);
এটি my_table টেবিলে email নামক একটি নতুন কলাম যোগ করবে।
কলাম ড্রপ করা:
ALTER TABLE my_table DROP COLUMN email;
এটি email কলামটি my_table টেবিল থেকে মুছে ফেলবে।
টেবিল নাম পরিবর্তন:
ALTER TABLE my_table RENAME TO new_table;
এটি my_table টেবিলের নাম পরিবর্তন করে new_table রাখবে।
৫. DROP TABLE
DROP TABLE স্টেটমেন্ট ব্যবহার করে একটি টেবিল মুছে ফেলা হয়। এই স্টেটমেন্টটি টেবিল এবং তার সমস্ত ডেটা মুছে ফেলে।
উদাহরণ:
DROP TABLE my_table;
এটি my_table টেবিল এবং তার ডেটা মুছে ফেলবে।
৬. CREATE VIEW
CREATE VIEW স্টেটমেন্ট ব্যবহার করে একটি ভিউ তৈরি করা হয়। ভিউ হলো একটি ভার্চুয়াল টেবিল, যা একটি বা একাধিক টেবিল থেকে ডেটা নির্বাচন করে তৈরি করা হয়।
উদাহরণ:
CREATE VIEW my_view AS
SELECT id, name FROM my_table WHERE age > 30;
এটি my_view নামে একটি ভিউ তৈরি করবে, যেখানে my_table থেকে বয়স ৩০-এর বেশি এমন ব্যবহারকারীদের id এবং name থাকবে।
৭. DROP VIEW
DROP VIEW স্টেটমেন্ট ব্যবহার করে একটি ভিউ মুছে ফেলা হয়।
উদাহরণ:
DROP VIEW my_view;
এটি my_view ভিউটি মুছে ফেলবে।
৮. CREATE PARTITION
CREATE PARTITION স্টেটমেন্ট ব্যবহার করে টেবিলের জন্য নতুন পার্টিশন তৈরি করা হয়।
উদাহরণ:
CREATE TABLE my_table (
id INT,
name STRING,
age INT
)
PARTITIONED BY (year INT, month INT);
CREATE PARTITION my_table PARTITION (year=2024, month=12);
এটি my_table টেবিলের জন্য ২০২৪ সালের ডিসেম্বর মাসের একটি নতুন পার্টিশন তৈরি করবে।
৯. DROP PARTITION
DROP PARTITION স্টেটমেন্ট ব্যবহার করে একটি নির্দিষ্ট পার্টিশন মুছে ফেলা হয়।
উদাহরণ:
DROP PARTITION my_table PARTITION (year=2024, month=12);
এটি my_table টেবিলের ২০২৪ সালের ডিসেম্বর মাসের পার্টিশনটি মুছে ফেলবে।
সারাংশ
Impala-তে DDL স্টেটমেন্টগুলো ডেটাবেস এবং টেবিলের স্ট্রাকচার এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এগুলো ডেটাবেস তৈরি, পরিবর্তন এবং মুছে ফেলা থেকে শুরু করে, টেবিলের স্ট্রাকচার পরিবর্তন, নতুন ভিউ তৈরি বা পার্টিশন ম্যানেজমেন্ট পর্যন্ত বিস্তৃত। DDL স্টেটমেন্টগুলি ব্যবহারকারীদের তাদের ডেটাবেস এবং টেবিলের ডিজাইন এবং কার্যকারিতা সহজেই কাস্টমাইজ করতে সহায়তা করে।
Read more